home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / t_os / tool / pcom / src / pc_inc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-16  |  1.7 KB  |  63 lines

  1. #define N            (256)
  2. #define SQRTN        (16)
  3. #define EXN            (8)
  4.  
  5. #define FIX(x)        ( (x)<<16 )
  6. #define INT(x)        ( (x)>>16 )
  7. #define MUL(x, y)    ( ((x)>>8) * ((y)>>8) )
  8. #define DIV(x, y)    ( ( (x) / (((y)>>8)+1) ) << 8 )
  9.  
  10. #ifndef DWORD
  11. #define    DWORD(x)    *((unsigned int *)(x))
  12. #define    WORD(x)        *((unsigned short *)(x))
  13. #define    BYTE(x)        *((unsigned char *)(x))
  14. #endif
  15.  
  16. typedef struct {
  17.     FILE *fp;
  18.     int buf, mask, bcnt;
  19.     } BIT_FILE;
  20. typedef struct {
  21.     unsigned int cu;
  22.     int c0, c1;
  23.     } NODE;
  24. typedef struct {
  25.     unsigned int code;
  26.     int bits;
  27.     } CODE;
  28. typedef struct {
  29.     short code;
  30.     short parent;
  31.     char ch;
  32. } DIC;
  33. typedef signed char schar;
  34.  
  35.  
  36. /* comp.c */
  37. extern int compress( char *inputfile, char *outputfile, char *n );
  38. extern int expand( char *inputfile, char *outputfile );
  39.  
  40. /* fft.c */
  41. extern void sin_cos( void );
  42. extern void bitrev( void );
  43. extern void time_window( short *buf );
  44. extern void fft( short *rl, short *im, int inv );
  45.  
  46. /* bitio.c */
  47. extern BIT_FILE *BIT_open( char *pname, char *type );
  48. extern int BIT_close( BIT_FILE *bfp );
  49. extern int BIT_read_bit( unsigned int *dest, BIT_FILE *bfp );
  50. extern int BIT_write_bit( unsigned int src, BIT_FILE *bfp );
  51. extern int BIT_read_bits( unsigned int *dest, size_t nelen, BIT_FILE *bfp );
  52. extern int BIT_write_bits( unsigned int src, size_t nelen, BIT_FILE *bfp );
  53. extern int BIT_read_bytes( void *dest, size_t s, size_t n, BIT_FILE *bfp );
  54. extern int BIT_write_bytes( void *src, size_t s, size_t n, BIT_FILE *bfp );
  55.  
  56. /* huffman.c */
  57. extern int huff_comp( char *src, int n, BIT_FILE *bfp );
  58. extern int huff_exp( char *dest, BIT_FILE *bfp );
  59.  
  60. /* lzw.c */
  61. extern int lzw_comp( char *src, int n, BIT_FILE *bfp );
  62. extern int lzw_exp( char *dest, BIT_FILE *bfp );
  63.